package br.com.autoLeal.bean;

import java.io.Serializable;
import java.text.MessageFormat;
import java.util.ResourceBundle;

import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;

public class GenericBean implements Serializable {

	private static final long serialVersionUID = -186630473546952482L;

	private String infos;
	private transient ResourceBundle messages;
	private String emailPattern = "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";

	public static String getMensagem(String key, Object... args) {
		FacesContext ctx = FacesContext.getCurrentInstance();
		ResourceBundle mensagens = ctx.getApplication().getResourceBundle(ctx, "mensagens");
		String msg = mensagens.getString(key);
		return MessageFormat.format(msg, args);
	}

	protected void exibirMsgSucesso(String mensagem) {
		FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, mensagem, null));
	}

	protected void exibirMsgAviso(String mensagem) {
		FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, mensagem, null));
	}

	protected void exibirMsgErro(String mensagem) {
		FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_FATAL, mensagem, null));
	}

	protected void exibirMsgInfo(String mensagem) {
		FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN, mensagem, null));
	}

	protected ResourceBundle getMessages() {
		if (messages == null) {
			messages = ResourceBundle.getBundle("br.com.autoLeal.mensagens.mensagens");
		}
		return messages;
	}

	public String getInfos() {
		return infos;
	}

	public void setInfos(String infos) {
		this.infos = infos;
	}

	public String getEmailPattern() {
		return emailPattern;
	}

	public void setEmailPattern(String emailPattern) {
		this.emailPattern = emailPattern;
	}

}